U.S. patent application Ser. No. 08/932,977, filed on Sep. 18, 1997, to Holmqvist et al., which is incorporated by reference herein, discloses a technique for generating addresses to access a circular memory buffer. Generally speaking, this technique entails providing an address towards the beginning address of the circular buffer, incrementing that address to provide the next address, and so on until the ending address of the circular buffer is reached. Generally, the Holmqvist et al. application determines that an ending address is reached by comparing the current address with the ending address. When the ending address is reached, the technique starts over again with the beginning address. Thus in an iterative fashion addresses are provided from the beginning address to the ending address.
In Holmquist, FIG. 9, at least two feedback circuits are shown for providing the address generation. One feedback circuit comprises the address pointer register 24 and a second feedback circuit comprises an advanced address pointer register 94. The circuit has been shown in the present application as FIG. 1. These feedback circuits share an adder 40. The feedback circuit with the address pointer register 24 has a phase delay latch 96 but the feedback circuit with the advanced address pointer register 94 does not have a phase delay latch.
The technique disclosed in Holmquist has very stringent timing requirements. These timing requirements may not be met and may cause erroneous addresses to be generated. There is a need for better techniques for generating addresses for accessing circular memory buffers.